/*
1 发送前显示等待中
2 发送后关闭等待中
3 封装公共的接口
*/

// 公共的接口
const baseURL = "https://api-hmugo-web.itheima.net/api/public/v1"

const request = (config) => {

    uni.showLoading({
        title: '加载中',
        mask: true //是否显示透明蒙层，防止触摸穿透
    })

    return new Promise((resolve, reject) => {

        wx.request({
            ...config,
            url: baseURL + config.url,
            success: (result) => {
                // result.statusCode 表示网络问题
                // result.data.meta.status===200 表示后台接收了请求，返回了正确的数据
                if (result.statusCode === 200 && result.data.meta.status === 200) {
                    resolve(result.data.message);
                } else {
                    reject(result);
                }
            },
            fail: (error) => {
                reject(error);
            },
            complete: () => {
                wx.hideLoading(); //发送完毕关闭等待中提示
            }
        });
    })
}

const requestAll = async (arr) => {
    uni.showLoading({
        title: "加载中",
        mask: true
    });

    await Promise.all(arr);
    uni.hideLoading();
    return Promise.resolve();
}

export default {
    request,
    requestAll
}